python应用Axes3D绘图(批量梯度下降算法) 您所在的位置:网站首页 python axes3d python应用Axes3D绘图(批量梯度下降算法)

python应用Axes3D绘图(批量梯度下降算法)

#python应用Axes3D绘图(批量梯度下降算法)| 来源: 网络整理| 查看: 265

更多编程教程请到:菜鸟教程 https://www.piaodoo.com/

友情链接:

高州阳光论坛https://www.hnthzk.com/

人人影视http://www.sfkyty.com/

本文实例为大家分享了python批量梯度下降算法的具体代码,供大家参考,具体内容如下

问题:

将拥有两个自变量的二阶函数绘制到空间坐标系中,并通过批量梯度下降算法找到并绘制其极值点

大体思路:

首先,根据题意确定目标函数:f(w1,w2) = w1^2 + w2^2 + 2 w1 w2 + 500 然后,针对w1,w2分别求偏导,编写主方法求极值点 而后,创建三维坐标系绘制函数图像以及其极值点即可

具体代码实现以及成像结果如下:

import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d.axes3d import Axes3D

#f(w1,w2) = w1^2 + w2^2 + 2w1w2 + 500 def targetFunction(W): #目标函数 w1,w2 = W return w1 ** 2 + w2**2 + 2w1w2+500

def gradientFunction(W): #梯度函数:分别对w1,w2求偏导 w1,w2 = W w1_grad = 2w1+2w2 w2_grad = 2w2 + 2w1 return np.array([w1_grad,w2_grad])

def batch_gradient_distance(targetFunc,gradientFunc,init_W,learning_rate = 0.01,tolerance = 0.0000001): #核心算法 W = init_W target_value = targetFunc(W) counts = 0 #用于计算次数 while counts



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有